home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / cross / GBDK-2.0.lha / GBDK / lib / cpy_data.s < prev    next >
Text File  |  1998-10-01  |  474b  |  42 lines

  1.     .include    "global.s"
  2.  
  3.     .area    _CODE
  4.  
  5.     ;; Copy part (size = DE) of the VRAM from (BC) to (HL)
  6. .copy_vram::
  7. 1$:
  8.     LDH    A,(.STAT)
  9.     AND    #0x02
  10.     JR    NZ,1$
  11.  
  12.     LD    A,(BC)
  13.     LD    (HL+),A
  14.     INC    BC
  15.     DEC    DE
  16.     LD    A,D
  17.     OR    E
  18.     JR    NZ,1$
  19.     RET
  20.  
  21. _set_data::
  22. _get_data::
  23.     PUSH    BC
  24.  
  25.     LDA    HL,9(SP)    ; Skip return address and registers
  26.     LD    D,(HL)        ; DE = len
  27.     DEC    HL
  28.     LD    E,(HL)
  29.     DEC    HL
  30.     LD    B,(HL)        ; BC = src
  31.     DEC    HL
  32.     LD    C,(HL)
  33.     DEC    HL
  34.     LD    A,(HL-)        ; HL = dst
  35.     LD    L,(HL)
  36.     LD    H,A
  37.  
  38.     CALL    .copy_vram
  39.  
  40.     POP    BC
  41.     RET
  42.